package com.zsr.example.util.constants;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author zhousiren
 * @date 2022/2/17 10:33
 */
@Getter
@AllArgsConstructor
public enum ChatTypeEnum {
    /**
     * 心跳消息
     */
    HEART_BEAT(0,"心跳消息"),
    /**
     * 在线人数
     */
    ONLINE_COUNT(1, "在线人数"),
    /**
     * 历史记录
     */
    HISTORY_RECORD(2, "历史记录"),
    /**
     * 发送消息 站内消息
     */
    SEND_MESSAGE(3, "发送消息"),

    /**
     * 评论通知
     */
    COMMENTS_NOTICE(4, "评论通知"),

    /**
     * 公告通知
     */
    SYSTEM_NOTICE(5, "公告通知"),

    /**
     * 点赞通知
     */
    LIKE_NOTICE(6, "点赞通知");


    /**
     * 类型
     */
    private final Integer type;

    /**
     * 描述
     */
    private final String desc;

    /**
     * 根据类型获取枚举
     * @param type 类型
     * @return 枚举
     */
    public static ChatTypeEnum getChatType(Integer type) {
        for (ChatTypeEnum chatType : ChatTypeEnum.values()) {
            if (chatType.getType().equals(type)) {
                return chatType;
            }
        }
        return null;
    }
}
